[INFO] cloning repository https://github.com/aquarius2019/xecs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aquarius2019/xecs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faquarius2019%2Fxecs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faquarius2019%2Fxecs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b8ed2bfc4e037529a0154d8a2fdeb6313e3f830e
[INFO] checking aquarius2019/xecs against master#656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-24
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faquarius2019%2Fxecs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aquarius2019/xecs
[INFO] finished tweaking git repo https://github.com/aquarius2019/xecs
[INFO] tweaked toml for git repo https://github.com/aquarius2019/xecs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aquarius2019/xecs on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aquarius2019/xecs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/aquarius2019/const-assert.git`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8
[INFO] running `Command { std: "docker" "start" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling xecs_macros v0.1.0 (/opt/rustwide/workdir/xecs_macros)
[INFO] [stderr]    Compiling const-assert v0.1.0 (https://github.com/aquarius2019/const-assert.git#e46566ba)
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking xecs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PhysicalScope`
[INFO] [stdout]  --> src/query/iter.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 |         physical::{MatchedTable, PhysicalScope},
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicalScope`
[INFO] [stdout]  --> src/query/iter.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 |         physical::{MatchedTable, PhysicalScope},
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/component/mod.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct ComponentInfo {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 77 |     pub(crate) name: Option<Rc<str>>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ids`, `find_id`, and `has_id` are never used
[INFO] [stdout]    --> src/component/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl Signature {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 199 |     #[inline]
[INFO] [stdout] 200 |     pub fn ids(&self) -> &[ComponentId] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn find_id(&self, id: &ComponentId) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn has_id(&self, id: &ComponentId) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits` and `static_ids` are never read
[INFO] [stdout]   --> src/component/registry.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ComponentRegistry {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     traits: Vec<TraitInfo>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     static_ids: Vec<Option<ComponentId>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut` is never used
[INFO] [stdout]   --> src/component/registry.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ComponentRegistry {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn get_mut(&mut self, id: ComponentId) -> &mut ComponentInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `components` are never read
[INFO] [stdout]  --> src/component/traits.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TraitInfo {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 |     pub name: Rc<str>,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     components: Vec<ComponentId>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DynamicStructLayout` is never constructed
[INFO] [stdout]  --> src/dynamic_struct.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DynamicStructLayout {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `layout`, and `offsets` are never used
[INFO] [stdout]   --> src/dynamic_struct.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DynamicStructLayout {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(fields: &[Layout]) -> Result<DynamicStructLayout, LayoutError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn layout(&self) -> Layout {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn offsets(&self) -> &[usize] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `relations` and `generation` are never read
[INFO] [stdout]   --> src/ecs.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Ecs {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) relations: RelationRegistry,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 17 |     pub(crate) tables: TableIndex,
[INFO] [stdout] 18 |     pub(crate) generation: u64,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableFlags` is never constructed
[INFO] [stdout]   --> src/flags.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct TableFlags(u32);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated constants are never used
[INFO] [stdout]    --> src/flags.rs:96:15
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl TableFlags {
[INFO] [stdout]     | --------------- associated constants in this implementation
[INFO] [stdout]  95 |     /// Indicates that the table has built-in components.
[INFO] [stdout]  96 |     pub const HAS_BUILTINS: Self = Self(1 << 1);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub const IS_PREFAB: Self = Self(1 << 2);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub const HAS_IS_A: Self = Self(1 << 3);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub const HAS_CHILD_OF: Self = Self(1 << 4);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub const HAS_NAME: Self = Self(1 << 5);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub const HAS_PAIRS: Self = Self(1 << 6);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub const HAS_MODULE: Self = Self(1 << 7);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub const IS_DISABLED: Self = Self(1 << 8);
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub const NOT_QUERYABLE: Self = Self(1 << 9);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub const HAS_CTORS: Self = Self(1 << 10);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub const HAS_DTORS: Self = Self(1 << 11);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub const HAS_COPY: Self = Self(1 << 12);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub const HAS_MOVE: Self = Self(1 << 13);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub const HAS_TOGGLE: Self = Self(1 << 14);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub const HAS_OVERRIDES: Self = Self(1 << 15);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     pub const HAS_ON_ADD: Self = Self(1 << 16);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 141 |     pub const HAS_ON_REMOVE: Self = Self(1 << 17);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 142 |     pub const HAS_ON_SET: Self = Self(1 << 18);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 143 |     pub const HAS_ON_TABLE_FILL: Self = Self(1 << 19);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub const HAS_ON_TABLE_EMPTY: Self = Self(1 << 20);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub const HAS_ON_TABLE_CREATE: Self = Self(1 << 21);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub const HAS_ON_TABLE_DELETE: Self = Self(1 << 22);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     pub const HAS_SPARSE: Self = Self(1 << 23);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 148 |     pub const HAS_UNION: Self = Self(1 << 24);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 | impl_bitflags!(TableFlags);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityFlags` is never constructed
[INFO] [stdout]    --> src/flags.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct EntityFlags(u32);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `IS_COMPONENT` is never used
[INFO] [stdout]    --> src/flags.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl EntityFlags {
[INFO] [stdout]     | ---------------- associated constant in this implementation
[INFO] [stdout] 158 |     pub const IS_COMPONENT: Self = Self(1 << 0);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | impl_bitflags!(EntityFlags);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentFlags` is never constructed
[INFO] [stdout]    --> src/flags.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct ComponentFlags(u32);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `IS_TAG` and `EXCLUSIVE` are never used
[INFO] [stdout]    --> src/flags.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl ComponentFlags {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] 168 |     /// Marks the component as a tag
[INFO] [stdout] 169 |     pub const IS_TAG: Self = Self(1 << 0);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 170 |     /// Marks the component as exclusive when used as a relationship.
[INFO] [stdout] 171 |     pub const EXCLUSIVE: Self = Self(1 << 1);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 | impl_bitflags!(ComponentFlags);
[INFO] [stdout]     | ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryBuilder` is never constructed
[INFO] [stdout]   --> src/query/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct QueryBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/query/mod.rs:29:8
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl QueryBuilder {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout]  29 |     fn access(&mut self, access: Access) -> &mut Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |     pub fn with(&mut self, c: ComponentId) -> &mut Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn without(&mut self, c: ComponentId) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     fn rel_filter(&mut self, filter: RelCheck) -> &mut Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn label(&mut self, name: &str) -> &mut Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn resolve_label(&self, name: &str) -> ScopeId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn join(&mut self, relation: Relation, optional: bool, f: impl FnOnce(&mut Self)) -> &mut Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn build(self) -> LogicalPlan {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn each_row<C: Columns>(&mut self, ecs: &mut Ecs, params: Params, mut f: impl FnMut(Id, C::Row<'_>)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn each<C: Columns, J: Joins>(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryCtx` is never constructed
[INFO] [stdout]    --> src/query/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct QueryCtx<'w> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LowerError` is never used
[INFO] [stdout]  --> src/query/error.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum LowerError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ComponentFetch` is never used
[INFO] [stdout]   --> src/query/fetch.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ComponentFetch: SealedFetch {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SealedFetch` is never used
[INFO] [stdout]  --> src/query/fetch.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub trait SealedFetch {}
[INFO] [stdout]   |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bindings` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct Bindings(Box<[Cell<Id>]>);
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, and `get` are never used
[INFO] [stdout]   --> src/query/iter.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Bindings {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn new(count: usize) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub(crate) fn set(&self, scope: ScopeId, id: Id) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub(crate) fn get(&self, scope: ScopeId) -> Id {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Params` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct Params(Box<[Id]>);
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/query/iter.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Params {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 38 |     pub(crate) fn get(&self, index: usize) -> Id {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Columns` is never used
[INFO] [stdout]   --> src/query/iter.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Columns {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Joins` is never used
[INFO] [stdout]   --> src/query/iter.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait Joins {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TJoin` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TJoin<const N: usize, F, J = ()>(PhantomData<(F, J)>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `each_row` is never used
[INFO] [stdout]   --> src/query/iter.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl MatchedTable {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 95 |     #[inline]
[INFO] [stdout] 96 |     pub fn each_row<C: Columns>(&self, ctx: &QueryCtx<'_>, mut f: impl FnMut(C::Row<'_>)) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Join` is never constructed
[INFO] [stdout]   --> src/query/join.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Join<C: Columns, J: Joins> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `each`, and `target` are never used
[INFO] [stdout]   --> src/query/join.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<C: Columns, J: Joins> Join<C, J> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout] 21 |     pub(crate) fn new(index: usize, from: Id) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn each(&mut self, ctx: &QueryCtx<'_>, mut f: impl FnMut(Id, C::Row<'_>, J::Handles)) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn target(&mut self, ctx: &QueryCtx<'_>) -> Option<(Id, C::Row<'_>, J::Handles)> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_columns` is never used
[INFO] [stdout]   --> src/query/join.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn get_columns<C: Columns>(ecs: &Ecs, matched: &MatchedTable, cache: &mut Option<(TableId, C::Get)>) -> C::Get {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ScopeId` is never used
[INFO] [stdout]  --> src/query/logical.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ScopeId = usize;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AccessMode` is never used
[INFO] [stdout]  --> src/query/logical.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum AccessMode {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Access` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Access {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Relation` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Relation {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RelCheck` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RelCheck {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelTarget` is never used
[INFO] [stdout]   --> src/query/logical.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum RelTarget {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Scope {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Join` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Join {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicalPlan` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LogicalPlan {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `writes` and `reads` are never used
[INFO] [stdout]   --> src/query/logical.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Access {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 68 |     #[inline]
[INFO] [stdout] 69 |     pub fn writes(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn reads(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_reversed` is never used
[INFO] [stdout]   --> src/query/logical.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Relation {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 80 |     #[inline(always)]
[INFO] [stdout] 81 |     pub fn as_reversed(&self) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_any` is never used
[INFO] [stdout]   --> src/query/logical.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl RelTarget {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 87 |     #[inline]
[INFO] [stdout] 88 |     pub fn is_any(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalPlan` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PhysicalPlan {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalScope` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct PhysicalScope {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve` and `bind` are never used
[INFO] [stdout]   --> src/query/physical.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl PhysicalScope {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn resolve(&self, id: TableId) -> Option<&MatchedTable> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn bind<'p>(&'p self, scope: ScopeId, id: Id, ctx: &QueryCtx<'_>) -> Option<(Id, u32, &'p MatchedTable)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchedTable` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct MatchedTable {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Check` is never used
[INFO] [stdout]   --> src/query/physical.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub(crate) enum Check {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]    --> src/query/physical.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Check {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 106 |     #[inline]
[INFO] [stdout] 107 |     pub(crate) fn eval(&self, id: Id, QueryCtx { ecs, binds, params, .. }: &QueryCtx) -> bool {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IdSource` is never used
[INFO] [stdout]    --> src/query/physical.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) enum IdSource {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolve` is never used
[INFO] [stdout]    --> src/query/physical.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl IdSource {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 130 |     #[inline(always)]
[INFO] [stdout] 131 |     pub(crate) fn resolve(&self, binds: &Bindings, params: &Params) -> Id {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalJoin` is never constructed
[INFO] [stdout]    --> src/query/physical.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) struct PhysicalJoin {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fan` is never used
[INFO] [stdout]    --> src/query/physical.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl PhysicalJoin {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 151 |     pub(crate) fn fan<'w>(&self, from: Id, bindings: &Bindings, params: &Params, ecs: &'w Ecs) -> Fan<'w> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Fan` is never used
[INFO] [stdout]    --> src/query/physical.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub(crate) enum Fan<'w> {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_scope` is never used
[INFO] [stdout]    --> src/query/physical.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn match_scope(Scope { access, with, without, .. }: &Scope, ecs: &Ecs) -> Box<[MatchedTable]> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_capabilities` is never used
[INFO] [stdout]    --> src/query/physical.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn check_capabilities(logical: &LogicalPlan, ecs: &Ecs) -> Result<(), LowerError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleared_by_nonoverlap` is never used
[INFO] [stdout]    --> src/query/physical.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn cleared_by_nonoverlap(a: &[MatchedTable], b: &[MatchedTable]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleared_by_acyclicity` is never used
[INFO] [stdout]    --> src/query/physical.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn cleared_by_acyclicity(x: ScopeId, y: ScopeId, logical: &LogicalPlan, ecs: &Ecs) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopeUnion` is never constructed
[INFO] [stdout]    --> src/query/physical.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | struct ScopeUnion(Box<[usize]>);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resolve`, and `union` are never used
[INFO] [stdout]    --> src/query/physical.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl ScopeUnion {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 317 |     fn new(n: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn resolve(&mut self, mut x: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn union(&mut self, a: usize, b: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `unique_source`, `unique_target`, `acyclic`, `symmetric`, and `indexed_reverse` are never read
[INFO] [stdout]   --> src/relation/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RelationProps {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub unique_source: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub unique_target: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub acyclic: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 24 |     pub symmetric: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub indexed_reverse: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelationProps` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `props`, `index`, and `edge_meta` are never read
[INFO] [stdout]   --> src/relation/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct RelationInfo {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 29 |     pub name: Option<Rc<str>>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub props: RelationProps,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 31 |     pub index: RelationIndex,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub edge_meta: Option<Rc<TypeMeta>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `infos` and `names` are never read
[INFO] [stdout]   --> src/relation/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct RelationRegistry {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 36 |     infos: Vec<RelationInfo>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     names: AHashMap<Rc<str>, RelationId>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register`, `get`, `get_mut`, and `index` are never used
[INFO] [stdout]   --> src/relation/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl RelationRegistry {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn register(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn get(&self, id: RelationId) -> &RelationInfo {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_mut(&mut self, id: RelationId) -> &mut RelationInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn index(&self, id: RelationId) -> &RelationIndex {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]  --> src/relation/index.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) const NONE: u32 = u32::MAX;
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ix` is never used
[INFO] [stdout]  --> src/relation/index.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | const fn ix(id: Id) -> usize {
[INFO] [stdout]   |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EdgeOp` is never used
[INFO] [stdout]   --> src/relation/index.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) enum EdgeOp {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `len`, and `cap` are never read
[INFO] [stdout]   --> src/relation/index.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct EdgeData {
[INFO] [stdout]    |                   -------- fields in this struct
[INFO] [stdout] 25 |     data: Blob,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     len: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 27 |     cap: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/relation/index.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl EdgeData {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 31 |     fn new(meta: Rc<TypeMeta>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sparse`, `source`, and `target` are never read
[INFO] [stdout]   --> src/relation/index.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct SparseEdges {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 37 |     sparse: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 38 |     pub(crate) source: Vec<Id>,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 39 |     pub(crate) target: Vec<Id>,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `slot_of`, `target`, `set`, and `remove` are never used
[INFO] [stdout]   --> src/relation/index.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl SparseEdges {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 43 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub(crate) fn slot_of(&self, src: Id) -> Option<u32> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(crate) fn target(&self, src: Id) -> Option<Id> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn set(&mut self, source: Id, target: Id) -> (u32, bool) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn remove(&mut self, source: Id) -> Option<(u32, Option<u32>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_of`, `offsets`, `source`, and `target` are never read
[INFO] [stdout]    --> src/relation/index.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub(crate) struct DirectedCsr {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 100 |     node_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 101 |     offsets: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 102 |     pub(crate) source: Vec<Id>,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 103 |     pub(crate) target: Vec<Id>,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `slots_of`, and `rebuild` are never used
[INFO] [stdout]    --> src/relation/index.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl DirectedCsr {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 107 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn slots_of(&self, src: Id) -> std::ops::Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn rebuild(&mut self, mut edges: Vec<(Id, Id, u32)>) -> Vec<(u32, u32)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_of`, `offsets`, `neighbor`, and `entry_slot` are never read
[INFO] [stdout]    --> src/relation/index.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub(crate) struct UndirectedCsr {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 176 |     node_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 177 |     offsets: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 178 |     pub(crate) neighbor: Vec<Id>,    // entry -> the other endpoint
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 179 |     pub(crate) entry_slot: Vec<u32>, // entry -> logical edge slot (payload index)
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `entries_of`, and `rebuild` are never used
[INFO] [stdout]    --> src/relation/index.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl UndirectedCsr {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 183 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn entries_of(&self, id: Id) -> std::ops::Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn rebuild(&mut self, edges: &[(Id, Id, u32)]) -> Vec<(u32, u32)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sparse`, `Csr`, and `Undirected` are never constructed
[INFO] [stdout]    --> src/relation/index.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub(crate) enum Forward {
[INFO] [stdout]     |                 ------- variants in this enum
[INFO] [stdout] 242 |     Sparse(SparseEdges),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 243 |     Csr(DirectedCsr),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 244 |     Undirected(UndirectedCsr),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Sparse`, and `Csr` are never constructed
[INFO] [stdout]    --> src/relation/index.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub(crate) enum Reverse {
[INFO] [stdout]     |                 ------- variants in this enum
[INFO] [stdout] 248 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 249 |     Sparse(Vec<u32>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 250 |     Csr {
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth`, `topo`, and `topo_dirty` are never read
[INFO] [stdout]    --> src/relation/index.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub(crate) struct TreeExtras {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 259 |     depth: Vec<u16>, // per dense slot
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 260 |     topo: Vec<Id>,   // parents-before-children, lazy
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 261 |     topo_dirty: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `forward`, `reverse`, `tree`, and `edge_data` are never read
[INFO] [stdout]    --> src/relation/index.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) struct RelationIndex {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 265 |     pub(crate) forward: Forward,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 266 |     pub(crate) reverse: Reverse,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 267 |     pub(crate) tree: Option<TreeExtras>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 268 |     pub(crate) edge_data: Option<EdgeData>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `select`, `has_forward`, `has_reverse`, and `contains` are never used
[INFO] [stdout]    --> src/relation/index.rs:272:19
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl RelationIndex {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 272 |     pub(crate) fn select(props: &RelationProps, edge_meta: Option<Rc<TypeMeta>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn has_forward(&self, id: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn has_reverse(&self, id: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn contains(&self, src: Id, tgt: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ptr` is never used
[INFO] [stdout]   --> src/storage/blob.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Blob {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub(crate) fn ptr(&self) -> NonNull<u8> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SparseSet` is never constructed
[INFO] [stdout]  --> src/storage/sparse.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct SparseSet {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `insert`, `contains`, `get`, and `get_mut` are never used
[INFO] [stdout]   --> src/storage/sparse.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SparseSet {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 20 |     pub(crate) fn new(type_meta: Rc<TypeMeta>) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn len(&self) -> u32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub(crate) unsafe fn insert<T: 'static>(&mut self, id: Id, val: T) -> Option<T> {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub(crate) fn contains(&self, id: Id) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) unsafe fn get<T: 'static>(&self, id: Id) -> Option<&T> {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub(crate) unsafe fn get_mut<T: 'static>(&self, id: Id) -> Option<&mut T> {
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/storage/table.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TableData {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn ids(&self) -> &[Id] {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num_rows` and `ids` are never used
[INFO] [stdout]    --> src/storage/table.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Table {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 147 |     #[inline]
[INFO] [stdout] 148 |     pub fn num_rows(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub(crate) fn ids(&self) -> &[Id] {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/table_index.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl TableId {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn get(self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `root`, `add`, `iter`, and `all_table_ids` are never used
[INFO] [stdout]    --> src/table_index.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl TableIndex {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn root(&self) -> &Table {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub(crate) fn add(&mut self, table: Table) -> TableId {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub(crate) fn iter(&self) -> impl Iterator<Item = &Table> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub(crate) fn all_table_ids(&self) -> Values<'_, Signature, TableId> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/component/mod.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct ComponentInfo {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 77 |     pub(crate) name: Option<Rc<str>>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ids`, `find_id`, and `has_id` are never used
[INFO] [stdout]    --> src/component/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl Signature {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 199 |     #[inline]
[INFO] [stdout] 200 |     pub fn ids(&self) -> &[ComponentId] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn find_id(&self, id: &ComponentId) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn has_id(&self, id: &ComponentId) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits` and `static_ids` are never read
[INFO] [stdout]   --> src/component/registry.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ComponentRegistry {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     traits: Vec<TraitInfo>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     static_ids: Vec<Option<ComponentId>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut` is never used
[INFO] [stdout]   --> src/component/registry.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ComponentRegistry {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn get_mut(&mut self, id: ComponentId) -> &mut ComponentInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `components` are never read
[INFO] [stdout]  --> src/component/traits.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TraitInfo {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 |     pub name: Rc<str>,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     components: Vec<ComponentId>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DynamicStructLayout` is never constructed
[INFO] [stdout]  --> src/dynamic_struct.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DynamicStructLayout {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `layout`, and `offsets` are never used
[INFO] [stdout]   --> src/dynamic_struct.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DynamicStructLayout {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(fields: &[Layout]) -> Result<DynamicStructLayout, LayoutError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn layout(&self) -> Layout {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn offsets(&self) -> &[usize] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `relations` and `generation` are never read
[INFO] [stdout]   --> src/ecs.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Ecs {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) relations: RelationRegistry,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 17 |     pub(crate) tables: TableIndex,
[INFO] [stdout] 18 |     pub(crate) generation: u64,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableFlags` is never constructed
[INFO] [stdout]   --> src/flags.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct TableFlags(u32);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated constants are never used
[INFO] [stdout]    --> src/flags.rs:96:15
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl TableFlags {
[INFO] [stdout]     | --------------- associated constants in this implementation
[INFO] [stdout]  95 |     /// Indicates that the table has built-in components.
[INFO] [stdout]  96 |     pub const HAS_BUILTINS: Self = Self(1 << 1);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub const IS_PREFAB: Self = Self(1 << 2);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub const HAS_IS_A: Self = Self(1 << 3);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub const HAS_CHILD_OF: Self = Self(1 << 4);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub const HAS_NAME: Self = Self(1 << 5);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub const HAS_PAIRS: Self = Self(1 << 6);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub const HAS_MODULE: Self = Self(1 << 7);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub const IS_DISABLED: Self = Self(1 << 8);
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub const NOT_QUERYABLE: Self = Self(1 << 9);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub const HAS_CTORS: Self = Self(1 << 10);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub const HAS_DTORS: Self = Self(1 << 11);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub const HAS_COPY: Self = Self(1 << 12);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub const HAS_MOVE: Self = Self(1 << 13);
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub const HAS_TOGGLE: Self = Self(1 << 14);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub const HAS_OVERRIDES: Self = Self(1 << 15);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     pub const HAS_ON_ADD: Self = Self(1 << 16);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 141 |     pub const HAS_ON_REMOVE: Self = Self(1 << 17);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 142 |     pub const HAS_ON_SET: Self = Self(1 << 18);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 143 |     pub const HAS_ON_TABLE_FILL: Self = Self(1 << 19);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |     pub const HAS_ON_TABLE_EMPTY: Self = Self(1 << 20);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     pub const HAS_ON_TABLE_CREATE: Self = Self(1 << 21);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub const HAS_ON_TABLE_DELETE: Self = Self(1 << 22);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     pub const HAS_SPARSE: Self = Self(1 << 23);
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 148 |     pub const HAS_UNION: Self = Self(1 << 24);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 | impl_bitflags!(TableFlags);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityFlags` is never constructed
[INFO] [stdout]    --> src/flags.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct EntityFlags(u32);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `IS_COMPONENT` is never used
[INFO] [stdout]    --> src/flags.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl EntityFlags {
[INFO] [stdout]     | ---------------- associated constant in this implementation
[INFO] [stdout] 158 |     pub const IS_COMPONENT: Self = Self(1 << 0);
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | impl_bitflags!(EntityFlags);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComponentFlags` is never constructed
[INFO] [stdout]    --> src/flags.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct ComponentFlags(u32);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `IS_TAG` and `EXCLUSIVE` are never used
[INFO] [stdout]    --> src/flags.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl ComponentFlags {
[INFO] [stdout]     | ------------------- associated constants in this implementation
[INFO] [stdout] 168 |     /// Marks the component as a tag
[INFO] [stdout] 169 |     pub const IS_TAG: Self = Self(1 << 0);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 170 |     /// Marks the component as exclusive when used as a relationship.
[INFO] [stdout] 171 |     pub const EXCLUSIVE: Self = Self(1 << 1);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `contains`, `insert`, `remove`, and `intersects` are never used
[INFO] [stdout]    --> src/flags.rs:6:26
[INFO] [stdout]     |
[INFO] [stdout]   3 |         impl $type {
[INFO] [stdout]     |         ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   6 |             pub const fn empty() -> Self {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  11 |             pub const fn contains(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  16 |             pub const fn insert(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  21 |             pub const fn remove(&mut self, other: Self) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |             pub const fn intersects(self, other: Self) -> bool {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 | impl_bitflags!(ComponentFlags);
[INFO] [stdout]     | ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryBuilder` is never constructed
[INFO] [stdout]   --> src/query/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct QueryBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/query/mod.rs:29:8
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl QueryBuilder {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout]  29 |     fn access(&mut self, access: Access) -> &mut Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |     pub fn with(&mut self, c: ComponentId) -> &mut Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn without(&mut self, c: ComponentId) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     fn rel_filter(&mut self, filter: RelCheck) -> &mut Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn label(&mut self, name: &str) -> &mut Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn resolve_label(&self, name: &str) -> ScopeId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn join(&mut self, relation: Relation, optional: bool, f: impl FnOnce(&mut Self)) -> &mut Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn build(self) -> LogicalPlan {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn each_row<C: Columns>(&mut self, ecs: &mut Ecs, params: Params, mut f: impl FnMut(Id, C::Row<'_>)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn each<C: Columns, J: Joins>(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryCtx` is never constructed
[INFO] [stdout]    --> src/query/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct QueryCtx<'w> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LowerError` is never used
[INFO] [stdout]  --> src/query/error.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum LowerError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ComponentFetch` is never used
[INFO] [stdout]   --> src/query/fetch.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ComponentFetch: SealedFetch {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SealedFetch` is never used
[INFO] [stdout]  --> src/query/fetch.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub trait SealedFetch {}
[INFO] [stdout]   |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bindings` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct Bindings(Box<[Cell<Id>]>);
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, and `get` are never used
[INFO] [stdout]   --> src/query/iter.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Bindings {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn new(count: usize) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub(crate) fn set(&self, scope: ScopeId, id: Id) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub(crate) fn get(&self, scope: ScopeId) -> Id {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Params` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct Params(Box<[Id]>);
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/query/iter.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Params {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 38 |     pub(crate) fn get(&self, index: usize) -> Id {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Columns` is never used
[INFO] [stdout]   --> src/query/iter.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Columns {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Joins` is never used
[INFO] [stdout]   --> src/query/iter.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait Joins {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TJoin` is never constructed
[INFO] [stdout]   --> src/query/iter.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TJoin<const N: usize, F, J = ()>(PhantomData<(F, J)>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `each_row` is never used
[INFO] [stdout]   --> src/query/iter.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl MatchedTable {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 95 |     #[inline]
[INFO] [stdout] 96 |     pub fn each_row<C: Columns>(&self, ctx: &QueryCtx<'_>, mut f: impl FnMut(C::Row<'_>)) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Join` is never constructed
[INFO] [stdout]   --> src/query/join.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Join<C: Columns, J: Joins> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `each`, and `target` are never used
[INFO] [stdout]   --> src/query/join.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<C: Columns, J: Joins> Join<C, J> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout] 21 |     pub(crate) fn new(index: usize, from: Id) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn each(&mut self, ctx: &QueryCtx<'_>, mut f: impl FnMut(Id, C::Row<'_>, J::Handles)) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn target(&mut self, ctx: &QueryCtx<'_>) -> Option<(Id, C::Row<'_>, J::Handles)> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_columns` is never used
[INFO] [stdout]   --> src/query/join.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn get_columns<C: Columns>(ecs: &Ecs, matched: &MatchedTable, cache: &mut Option<(TableId, C::Get)>) -> C::Get {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ScopeId` is never used
[INFO] [stdout]  --> src/query/logical.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ScopeId = usize;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AccessMode` is never used
[INFO] [stdout]  --> src/query/logical.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum AccessMode {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Access` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Access {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Relation` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Relation {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RelCheck` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RelCheck {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelTarget` is never used
[INFO] [stdout]   --> src/query/logical.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum RelTarget {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Scope {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Join` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Join {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicalPlan` is never constructed
[INFO] [stdout]   --> src/query/logical.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LogicalPlan {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `writes` and `reads` are never used
[INFO] [stdout]   --> src/query/logical.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Access {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 68 |     #[inline]
[INFO] [stdout] 69 |     pub fn writes(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn reads(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_reversed` is never used
[INFO] [stdout]   --> src/query/logical.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Relation {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 80 |     #[inline(always)]
[INFO] [stdout] 81 |     pub fn as_reversed(&self) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_any` is never used
[INFO] [stdout]   --> src/query/logical.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl RelTarget {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 87 |     #[inline]
[INFO] [stdout] 88 |     pub fn is_any(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalPlan` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PhysicalPlan {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalScope` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct PhysicalScope {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve` and `bind` are never used
[INFO] [stdout]   --> src/query/physical.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl PhysicalScope {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn resolve(&self, id: TableId) -> Option<&MatchedTable> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn bind<'p>(&'p self, scope: ScopeId, id: Id, ctx: &QueryCtx<'_>) -> Option<(Id, u32, &'p MatchedTable)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchedTable` is never constructed
[INFO] [stdout]   --> src/query/physical.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct MatchedTable {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Check` is never used
[INFO] [stdout]   --> src/query/physical.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub(crate) enum Check {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]    --> src/query/physical.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Check {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 106 |     #[inline]
[INFO] [stdout] 107 |     pub(crate) fn eval(&self, id: Id, QueryCtx { ecs, binds, params, .. }: &QueryCtx) -> bool {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IdSource` is never used
[INFO] [stdout]    --> src/query/physical.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) enum IdSource {
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolve` is never used
[INFO] [stdout]    --> src/query/physical.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl IdSource {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 130 |     #[inline(always)]
[INFO] [stdout] 131 |     pub(crate) fn resolve(&self, binds: &Bindings, params: &Params) -> Id {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PhysicalJoin` is never constructed
[INFO] [stdout]    --> src/query/physical.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) struct PhysicalJoin {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fan` is never used
[INFO] [stdout]    --> src/query/physical.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl PhysicalJoin {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 151 |     pub(crate) fn fan<'w>(&self, from: Id, bindings: &Bindings, params: &Params, ecs: &'w Ecs) -> Fan<'w> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Fan` is never used
[INFO] [stdout]    --> src/query/physical.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub(crate) enum Fan<'w> {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_scope` is never used
[INFO] [stdout]    --> src/query/physical.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn match_scope(Scope { access, with, without, .. }: &Scope, ecs: &Ecs) -> Box<[MatchedTable]> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_capabilities` is never used
[INFO] [stdout]    --> src/query/physical.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn check_capabilities(logical: &LogicalPlan, ecs: &Ecs) -> Result<(), LowerError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleared_by_nonoverlap` is never used
[INFO] [stdout]    --> src/query/physical.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn cleared_by_nonoverlap(a: &[MatchedTable], b: &[MatchedTable]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleared_by_acyclicity` is never used
[INFO] [stdout]    --> src/query/physical.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn cleared_by_acyclicity(x: ScopeId, y: ScopeId, logical: &LogicalPlan, ecs: &Ecs) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopeUnion` is never constructed
[INFO] [stdout]    --> src/query/physical.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | struct ScopeUnion(Box<[usize]>);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resolve`, and `union` are never used
[INFO] [stdout]    --> src/query/physical.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl ScopeUnion {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 317 |     fn new(n: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn resolve(&mut self, mut x: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn union(&mut self, a: usize, b: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `unique_source`, `unique_target`, `acyclic`, `symmetric`, and `indexed_reverse` are never read
[INFO] [stdout]   --> src/relation/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RelationProps {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub unique_source: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub unique_target: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub acyclic: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 24 |     pub symmetric: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub indexed_reverse: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelationProps` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `props`, `index`, and `edge_meta` are never read
[INFO] [stdout]   --> src/relation/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct RelationInfo {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 29 |     pub name: Option<Rc<str>>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub props: RelationProps,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 31 |     pub index: RelationIndex,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub edge_meta: Option<Rc<TypeMeta>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `infos` and `names` are never read
[INFO] [stdout]   --> src/relation/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct RelationRegistry {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 36 |     infos: Vec<RelationInfo>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     names: AHashMap<Rc<str>, RelationId>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register`, `get`, `get_mut`, and `index` are never used
[INFO] [stdout]   --> src/relation/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl RelationRegistry {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn register(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn get(&self, id: RelationId) -> &RelationInfo {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_mut(&mut self, id: RelationId) -> &mut RelationInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn index(&self, id: RelationId) -> &RelationIndex {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]  --> src/relation/index.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) const NONE: u32 = u32::MAX;
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ix` is never used
[INFO] [stdout]  --> src/relation/index.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | const fn ix(id: Id) -> usize {
[INFO] [stdout]   |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EdgeOp` is never used
[INFO] [stdout]   --> src/relation/index.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) enum EdgeOp {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `len`, and `cap` are never read
[INFO] [stdout]   --> src/relation/index.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct EdgeData {
[INFO] [stdout]    |                   -------- fields in this struct
[INFO] [stdout] 25 |     data: Blob,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     len: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 27 |     cap: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/relation/index.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl EdgeData {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 31 |     fn new(meta: Rc<TypeMeta>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sparse`, `source`, and `target` are never read
[INFO] [stdout]   --> src/relation/index.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct SparseEdges {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 37 |     sparse: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 38 |     pub(crate) source: Vec<Id>,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 39 |     pub(crate) target: Vec<Id>,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `slot_of`, `target`, `set`, and `remove` are never used
[INFO] [stdout]   --> src/relation/index.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl SparseEdges {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 43 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub(crate) fn slot_of(&self, src: Id) -> Option<u32> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub(crate) fn target(&self, src: Id) -> Option<Id> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn set(&mut self, source: Id, target: Id) -> (u32, bool) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn remove(&mut self, source: Id) -> Option<(u32, Option<u32>)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_of`, `offsets`, `source`, and `target` are never read
[INFO] [stdout]    --> src/relation/index.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub(crate) struct DirectedCsr {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 100 |     node_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 101 |     offsets: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 102 |     pub(crate) source: Vec<Id>,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 103 |     pub(crate) target: Vec<Id>,
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `slots_of`, and `rebuild` are never used
[INFO] [stdout]    --> src/relation/index.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl DirectedCsr {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 107 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn slots_of(&self, src: Id) -> std::ops::Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn rebuild(&mut self, mut edges: Vec<(Id, Id, u32)>) -> Vec<(u32, u32)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_of`, `offsets`, `neighbor`, and `entry_slot` are never read
[INFO] [stdout]    --> src/relation/index.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub(crate) struct UndirectedCsr {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 176 |     node_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 177 |     offsets: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 178 |     pub(crate) neighbor: Vec<Id>,    // entry -> the other endpoint
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 179 |     pub(crate) entry_slot: Vec<u32>, // entry -> logical edge slot (payload index)
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `entries_of`, and `rebuild` are never used
[INFO] [stdout]    --> src/relation/index.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl UndirectedCsr {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 183 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn entries_of(&self, id: Id) -> std::ops::Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn rebuild(&mut self, edges: &[(Id, Id, u32)]) -> Vec<(u32, u32)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sparse`, `Csr`, and `Undirected` are never constructed
[INFO] [stdout]    --> src/relation/index.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub(crate) enum Forward {
[INFO] [stdout]     |                 ------- variants in this enum
[INFO] [stdout] 242 |     Sparse(SparseEdges),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 243 |     Csr(DirectedCsr),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 244 |     Undirected(UndirectedCsr),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Sparse`, and `Csr` are never constructed
[INFO] [stdout]    --> src/relation/index.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub(crate) enum Reverse {
[INFO] [stdout]     |                 ------- variants in this enum
[INFO] [stdout] 248 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 249 |     Sparse(Vec<u32>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 250 |     Csr {
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth`, `topo`, and `topo_dirty` are never read
[INFO] [stdout]    --> src/relation/index.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub(crate) struct TreeExtras {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 259 |     depth: Vec<u16>, // per dense slot
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 260 |     topo: Vec<Id>,   // parents-before-children, lazy
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 261 |     topo_dirty: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `forward`, `reverse`, `tree`, and `edge_data` are never read
[INFO] [stdout]    --> src/relation/index.rs:265:16
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) struct RelationIndex {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 265 |     pub(crate) forward: Forward,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 266 |     pub(crate) reverse: Reverse,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 267 |     pub(crate) tree: Option<TreeExtras>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 268 |     pub(crate) edge_data: Option<EdgeData>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `select`, `has_forward`, `has_reverse`, and `contains` are never used
[INFO] [stdout]    --> src/relation/index.rs:272:19
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl RelationIndex {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 272 |     pub(crate) fn select(props: &RelationProps, edge_meta: Option<Rc<TypeMeta>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn has_forward(&self, id: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn has_reverse(&self, id: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn contains(&self, src: Id, tgt: Id) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ptr` is never used
[INFO] [stdout]   --> src/storage/blob.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Blob {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub(crate) fn ptr(&self) -> NonNull<u8> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SparseSet` is never constructed
[INFO] [stdout]  --> src/storage/sparse.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct SparseSet {
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `insert`, `contains`, `get`, and `get_mut` are never used
[INFO] [stdout]   --> src/storage/sparse.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SparseSet {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 20 |     pub(crate) fn new(type_meta: Rc<TypeMeta>) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn len(&self) -> u32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub(crate) unsafe fn insert<T: 'static>(&mut self, id: Id, val: T) -> Option<T> {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub(crate) fn contains(&self, id: Id) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) unsafe fn get<T: 'static>(&self, id: Id) -> Option<&T> {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub(crate) unsafe fn get_mut<T: 'static>(&self, id: Id) -> Option<&mut T> {
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/storage/table.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TableData {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn ids(&self) -> &[Id] {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num_rows` and `ids` are never used
[INFO] [stdout]    --> src/storage/table.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Table {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 147 |     #[inline]
[INFO] [stdout] 148 |     pub fn num_rows(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub(crate) fn ids(&self) -> &[Id] {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/table_index.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl TableId {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn get(self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `root`, `add`, `iter`, and `all_table_ids` are never used
[INFO] [stdout]    --> src/table_index.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl TableIndex {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn root(&self) -> &Table {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub(crate) fn add(&mut self, table: Table) -> TableId {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub(crate) fn iter(&self) -> impl Iterator<Item = &Table> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub(crate) fn all_table_ids(&self) -> Values<'_, Signature, TableId> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.51s
[INFO] running `Command { std: "docker" "inspect" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8", kill_on_drop: false }`
[INFO] [stdout] 4b6e1de03e503a50d6649244a62b9fbb889347c90f5b18778694193db0966fd8
